package co.edu.udea.iw.dao.service;

import co.edu.udea.iw.dao.GerenteDAO;
import co.edu.udea.iw.dao.RespuestaDAO;
import co.edu.udea.iw.dao.SolicitudDAO;
import co.edu.udea.iw.dto.gerente;
import co.edu.udea.iw.dto.respuesta;
import co.edu.udea.iw.dto.solicitud;
import co.edu.udea.iw.exception.waDaoException;
import co.edu.udea.iw.exception.waServiceException;
import co.edu.udea.iw.util.validations.Validaciones;

public class respuestaService {

	private RespuestaDAO respuestaDAO;
	private SolicitudDAO solicitudDAO;
	private GerenteDAO gerenteDAO;

	public RespuestaDAO getRespuestaDAO() {
		return respuestaDAO;
	}

	public void setRespuestaDAO(RespuestaDAO respuestaDAO) {
		this.respuestaDAO = respuestaDAO;
	}

	public SolicitudDAO getSolicitudDAO() {
		return solicitudDAO;
	}

	public void setSolicitudDAO(SolicitudDAO solicitudDAO) {
		this.solicitudDAO = solicitudDAO;
	}

	public GerenteDAO getGerenteDAO() {
		return gerenteDAO;
	}

	public void setGerenteDAO(GerenteDAO gerenteDAO) {
		this.gerenteDAO = gerenteDAO;
	}

	public void guardarRespuesta(String id_respuesta, String id_solicitud,
			String id_gerente, String texto) throws waDaoException,
			waServiceException {

		respuesta Respuesta = null;

		if (Validaciones.isTextoVacio(id_respuesta)) {
			throw new waServiceException("El id_respuesta no puede ser vacio");
		}
		solicitud Solicitud = solicitudDAO.obtener(id_solicitud);
		if (Solicitud == null) {

			throw new waServiceException(
					"La solicitud no se encuentra en la base de datos");

		}

		gerente Gerente = gerenteDAO.obtenerGerente(id_gerente);

		if (Gerente == null) {

			throw new waServiceException(
					"La gerente no se encuentra en la base de datos");

		}

		if (Validaciones.isTextoVacio(texto)) {
			throw new waServiceException("El texto no puede ser vacio");
		}

	}

}
